/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package MathLib.HashMatrix;

import java.util.ArrayList;

/**
 *
 * @author marko
 */
public interface IMatrix{
      // устанавливает значение value в ячейку с координатами [row,col];
      // row - номер строки матрицы
      // col - номер столбца матрицы
      void setValue(int row, int col, double value);

      // добавляет значение value к ячейке [row,col]
      void addValue(int row, int col, double value);

      // возвращает значение ячейки [row,col]
      double getValue(int row, int col);

      // возвращает порядок матрицы
      int getN();

      // возвращает ненулевые значения и индексы ячеек строки d,
       // которые находятся правее главной диагонали
      void getJRow(int d, int[] indexes, double[] values);

      ArrayList<Integer> getJRowIndex(int d);

      ArrayList<Double> getJRowValues(int d);
      // возвращает ненулевые значения и индексы ячеек столбца d,
       // которые находятся ниже главной диагонали
      void getJCol(int d, int[] indexes, double[] values);

      ArrayList<Integer> getJColIndex(int d);

      ArrayList<Double> getJColValues(int d);

}
